﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CPTECH.Repository;
using System.Collections;
using CPTECH.Business;

namespace CPTECH.Presentation
{
    public partial class frm_inicio : frm_default
    {

        public frm_inicio()
        {
            InitializeComponent();
        }

        //close aplication
        private void menuItem1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        //chama o método que faz verificação dos compos e validação do login
        private void menuItem2_Click(object sender, EventArgs e)
        {
            mnu_acessar.Enabled = false;
            checkUserID(txt_usuario.Text.ToString().Trim(), txt_senha.Text.ToString().Trim());
            mnu_acessar.Enabled = true;
        }

        //faz os checks dos campos e se o usuário existe.
        private void checkUserID(string user, string senha)
        {
            bool result = false;
            result = usersDB.getInstance().checkUser(user, senha);

            if (txt_usuario.Text == "")
            {
                MessageBox.Show("Insira um usuário para continuar!");
                txt_usuario.Focus();
            }

            else if (txt_senha.Text == "")
            {
                MessageBox.Show("Insira uma senha para continuar!");
                txt_senha.Focus();            
            }

            else if (cbo_os.SelectedItem == null)
            {
                MessageBox.Show("Selecione uma OS para Prosseguir!");
                cbo_os.Focus();
            }

            else if (result == true)
            {
                MessageBox.Show("Conectado", "Acesso");
                FisicoBO.getInstance().os = cbo_os.SelectedItem.ToString();//salva os.
                FisicoBO.getInstance().idPalm = user;//salva id do usuário.
                frm_menu menu = new frm_menu();//cria instancia do novo form.
                menu.showForm(this);//chama form novo passando o atual como parâmetro.
            }

            else
            {
                MessageBox.Show("Usuário ou senha inválida, verifique!");
                txt_usuario.Focus();
            }
        }

        //popula o combo box.
        private void frm_inicio_Load(object sender, EventArgs e)
        {
            //carrega imagem na picture
            //pct_logo.Image = new ima(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\dbInventario.sdf;"));

            insertComboValues();
        }

        //popula o combo box.
        private void insertComboValues()
        { 
            ArrayList resultado = FilialDB.getInstance().selectDistinctOS();

            if (resultado != null)
            {
                for (int i = 0; i < resultado.Count; i++)
                {
                    cbo_os.Items.Add(resultado[i].ToString());
                }
            }
            else 
            {
                MessageBox.Show("Erro ao Preencher OS existentes, contate o suporte!", "Erro");
            }
        
        }
    }
}